/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2022-08-17
 * Time: 22:57
 */
public class TestDemo {
    public class Solution {
        /**
         * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
         *
         *
         * @param pHead ListNode类
         * @param k int整型
         * @return ListNode类
         */
        public ListNode FindKthToTail (ListNode pHead, int k) {
            // write code here
            if(pHead==null||k==0){
                return null;
            }
            Stack<ListNode> stack = new Stack<>();//创建一个栈，准备将给的元素入栈

            while(pHead!=null){
                stack.push(pHead);
                pHead=pHead.next;
            }//入栈完毕
            if(stack.size()<k){//栈里的元素个数要是比k的值要小，返回空
                return null;
            }
            ListNode firstNode=stack.pop();//准备出栈，形成新的链表
            while(--k>0){
                ListNode  ret=stack.pop();
                ret.next=firstNode;
                firstNode=ret;

            }



            return firstNode;



        }
    }
}
